/////precompiled////////
#include "precompiled.h"
////////////////////////

#include "prs_DataFolders.h"
using namespace prs;

// TDataFoldersRecord /////////////////////////////////////////////////////////

//
TDataFoldersRecord::TDataFoldersRecord(
	TDataFolders &DataFolders
):dataFolders(DataFolders) {
	record = NULL;
}

//
TDataFoldersRecord::TDataFoldersRecord(
  TDataFoldersRecord &DataFoldersRecord
):dataFolders(DataFoldersRecord.dataFolders) {
 *this = DataFoldersRecord;
}

//
TTableId TDataFoldersRecord::GetTableId() const { 
  return dataFolders.table->TableId;
}

//
TDataFoldersRecord &TDataFoldersRecord::SetValueName(const svl::TString &Value) {
	record->SetValueString(dataFolders.nameFieldId,Value);
	return *this;
}

//
svl::TString TDataFoldersRecord::GetValueName() {
	return record->GetValueString(dataFolders.nameFieldId)->GetValue();
}

// TDataFolders ///////////////////////////////////////////////////////////////

//
TDataFolders::TDataFolders(
  TDataTables &Tables,
  const TTableId &TableId
)
:tables(Tables)
{
	nameFieldId = "Name";

	table = tables.GetTable(TableId);
	if (!table)	{
    table = tables.AddTable(TableId);
    table->AddFieldString(nameFieldId);
    table->AddFieldString("Musor");
	}
}

//
TDataFoldersRecord TDataFolders::AddRecord() {
  TDataFoldersRecord R(*this);
		R.record = table->AddRecord();
	return R;	
}

//
TDataFoldersRecord TDataFolders::GetRecord(int RecordId) {
  TDataFoldersRecord R(*this);
		R.record = table->GetRecord(RecordId);
	return R;	
}
